查看原文
其他

Python数据可视化,为什么我建议先学会matplotlib?

早起Python 2022-07-20

The following article is from 可视化图鉴 Author 刘早起

学习数据可视化,点击关注👆👆👆



大家好,我是早起。

之前不在更新的日子里,也经常会收到读者的私信,咨询如何学习Python数据可视化、如何选择合适的可视化工具,也有读者在问,啥时候开始更新pyecharts、plotly系列等等问题,今天就和大家简单聊一聊。

先学会选择图后选工具

首先想说的与Python以及matplotlib无关,但又很重要的一个问题。

当我们拿到数据,有可视化需求时,一定不是先想用什么工具来完成,不是Python还是R,不是matplotlib还是ggplot2或者是其他,而是要先确定一个可视化的方向,这就需要对类似下面的问题进行思考

  • 使用场景是什么?
  • 数据适合什么样的图形?
  • 是否要二次处理数据?
  • 是否有重点需要突出的指标或对比?

等等对类似这一系列问题进行思考后,脑海中应该要有一个大致的效果出来,此时才进入选择工具的阶段。当然在进行思考的同时也是一个逐渐向下搜索过滤的过程,所以就需要你脑海中的图库足够丰富,也需要你对数据有足够的敏感度,这就是为什么我的每个图鉴都重点说明我的数据长啥样,让图鉴变丰富也是「可视化图鉴」努力的方向。

回到工具上来,在去年的文章中我就提过,对于Python的各种数据可视化工具来说,建议熟练掌握一个后大致了解其他工具的套路即可,其实当时建议的这一个就是matplotlib

为什么首选matplotlib

说实话在19年我十分痴迷于pyecharts,也协助别人基于pyecharts进行网站开发,但慢慢我发现,Python数据可视化,最终还是要回归到matplotlib

为什么是matplotlib?对于我来说,matplotlib像是给了纸和笔,自定义程度非常高,除了在动态可视化上稍差了一点,几乎任何其他软件能做出来的它都可以搞定,自定义元素程度越高就代表着适用群体越广泛,无论是学术风还是商业风,毕业论文还是汇报PPT都可以覆盖。

而类似pyecharts等工具虽然上手很快但是自定义的程度并不是特别高,就像是给你纸和一些画好的小组件,做出来的图当然也是非常好看的,但你只能在他的框架下拿着这些组件去组合搭配,有时会因为一点没法实现的小功能而放弃。至于类似seaborn等基于matplotlib二次开发的包来说,学习matplotlib也是理所当然。

其次推荐首选matplotlib的原因就是安装相对简单,依赖的服务更少一点,不论是在本地还是在服务器上,大多情况下安装完anaconda就能愉快的使用,方便在不同机器上使用与迁移,而类似pyecharts、plotly等库或多或少的需要安装一些额外的插件/地图包等,并且不同版本直接的差异相对来说还是略大。

最后matplotlib还有一个特点就是用它的人实在太多了,多到你的任何相关问题都能通过百度/Google快速找到解决办法,甚至能在stackoverflow上找到一模一样的问题和写好的代码与解释,这一点对于初学者来说是十分友好的

所以如果你想在Python数据可视化上大展拳脚的话,不妨从matplotlib开始吧!

怎样学Python可视化

说了这么多,最后来分享下我推荐的学习方式。

经常会有读者让我推荐几本Python可视化的书,但我相信对于大多有数据可视化需求的用户而言,他们并不是靠纯Python吃饭的,更多情况下Python只是工具,matplotlib只是一个可视化手段,所以没必要死磕书上抽象的文字。

拿matplotlib来说,只需要了解基本图形调整方法(例如我的组件设置系列文章,公众号菜单栏可以找到),别人的代码你能看懂,没有必要对一些细枝末节的进行研究,当在上面的第一步确定好需要使用的图之后,直接从现有图鉴中找到一幅和你数据及目标样式匹配的图,替换数据,修改相关细节即可!

这也是为什么会有「可视化图鉴」这个号,因为只有足够的图就才能覆盖更多的需求,所以在未来我会持续扩充matplotlib图鉴库。

另外之前是计划按照工具来进行更新(matplotlib更新完才会继续更新pyecharts等工具),现在我打算调整下更新策略,首选不代表只会,一直更新matplotlib仿佛在暗示只用matplotlib,所以未来只要是合适的可视化作品,不限定工具,同步更新,当然如果大家有好的可视化作品也可以投稿给我。有任何好的建议也可以给我留言。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存